<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
AbstractRandomGenerator (Commons Math 3.2 API)
</TITLE>


<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="AbstractRandomGenerator (Commons Math 3.2 API)";
    }
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">
<HR>


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AbstractRandomGenerator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV CLASS&nbsp;
&nbsp;<A HREF="../../../../../org/apache/commons/math3/random/AbstractWell.html" title="class in org.apache.commons.math3.random"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html?org/apache/commons/math3/random/AbstractRandomGenerator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="AbstractRandomGenerator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.commons.math3.random</FONT>
<BR>
Class AbstractRandomGenerator</H2>
<PRE>
<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
  <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.commons.math3.random.AbstractRandomGenerator</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public abstract class <B>AbstractRandomGenerator</B><DT>extends <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</A></DL>
</PRE>

<P>
Abstract class implementing the <A HREF="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random"><CODE>RandomGenerator</CODE></A> interface.
 Default implementations for all methods other than <A HREF="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#nextDouble()"><CODE>nextDouble()</CODE></A> and
 <A HREF="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#setSeed(long)"><CODE>setSeed(long)</CODE></A> are provided.
 <p>
 All data generation methods are based on <code>code nextDouble()</code>.
 Concrete implementations <strong>must</strong> override
 this method and <strong>should</strong> provide better / more
 performant implementations of the other methods if the underlying PRNG
 supplies them.</p>
<P>

<P>
<DL>
<DT><B>Since:</B></DT>
  <DD>1.1</DD>
<DT><B>Version:</B></DT>
  <DD>$Id: AbstractRandomGenerator.java 1416643 2012-12-03 19:37:14Z tn $</DD>
</DL>
<HR>

<P>

<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#AbstractRandomGenerator()">AbstractRandomGenerator</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a RandomGenerator.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#clear()">clear</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clears the cache used by the default implementation of
 <A HREF="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#nextGaussian()"><CODE>nextGaussian()</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#nextBoolean()">nextBoolean</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the next pseudorandom, uniformly distributed
 <code>boolean</code> value from this random number generator's
 sequence.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#nextBytes(byte[])">nextBytes</A></B>(byte[]&nbsp;bytes)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Generates random bytes and places them into a user-supplied
 byte array.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;double</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#nextDouble()">nextDouble</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the next pseudorandom, uniformly distributed
 <code>double</code> value between <code>0.0</code> and
 <code>1.0</code> from this random number generator's sequence.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;float</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#nextFloat()">nextFloat</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the next pseudorandom, uniformly distributed <code>float</code>
 value between <code>0.0</code> and <code>1.0</code> from this random
 number generator's sequence.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;double</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#nextGaussian()">nextGaussian</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the next pseudorandom, Gaussian ("normally") distributed
 <code>double</code> value with mean <code>0.0</code> and standard
 deviation <code>1.0</code> from this random number generator's sequence.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#nextInt()">nextInt</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the next pseudorandom, uniformly distributed <code>int</code>
 value from this random number generator's sequence.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#nextInt(int)">nextInt</A></B>(int&nbsp;n)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a pseudorandom, uniformly distributed <code>int</code> value
 between 0 (inclusive) and the specified value (exclusive), drawn from
 this random number generator's sequence.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#nextLong()">nextLong</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the next pseudorandom, uniformly distributed <code>long</code>
 value from this random number generator's sequence.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#setSeed(int)">setSeed</A></B>(int&nbsp;seed)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the seed of the underlying random number generator using an
 <code>int</code> seed.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#setSeed(int[])">setSeed</A></B>(int[]&nbsp;seed)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the seed of the underlying random number generator using an
 <code>int</code> array seed.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#setSeed(long)">setSeed</A></B>(long&nbsp;seed)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the seed of the underlying random number generator using a
 <code>long</code> seed.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="AbstractRandomGenerator()"><!-- --></A><H3>
AbstractRandomGenerator</H3>
<PRE>
public <B>AbstractRandomGenerator</B>()</PRE>
<DL>
<DD>Construct a RandomGenerator.
<P>
</DL>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="clear()"><!-- --></A><H3>
clear</H3>
<PRE>
public void <B>clear</B>()</PRE>
<DL>
<DD>Clears the cache used by the default implementation of
 <A HREF="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#nextGaussian()"><CODE>nextGaussian()</CODE></A>. Implementations that do not override the
 default implementation of <code>nextGaussian</code> should call this
 method in the implementation of <A HREF="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#setSeed(long)"><CODE>setSeed(long)</CODE></A>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setSeed(int)"><!-- --></A><H3>
setSeed</H3>
<PRE>
public void <B>setSeed</B>(int&nbsp;seed)</PRE>
<DL>
<DD>Sets the seed of the underlying random number generator using an
 <code>int</code> seed.
 <p>Sequences of values generated starting with the same seeds
 should be identical.
 </p>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/commons/math3/random/RandomGenerator.html#setSeed(int)">setSeed</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>seed</CODE> - the seed value</DL>
</DD>
</DL>
<HR>

<A NAME="setSeed(int[])"><!-- --></A><H3>
setSeed</H3>
<PRE>
public void <B>setSeed</B>(int[]&nbsp;seed)</PRE>
<DL>
<DD>Sets the seed of the underlying random number generator using an
 <code>int</code> array seed.
 <p>Sequences of values generated starting with the same seeds
 should be identical.
 </p>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/commons/math3/random/RandomGenerator.html#setSeed(int[])">setSeed</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>seed</CODE> - the seed value</DL>
</DD>
</DL>
<HR>

<A NAME="setSeed(long)"><!-- --></A><H3>
setSeed</H3>
<PRE>
public abstract void <B>setSeed</B>(long&nbsp;seed)</PRE>
<DL>
<DD>Sets the seed of the underlying random number generator using a
 <code>long</code> seed.  Sequences of values generated starting with the
 same seeds should be identical.
 <p>
 Implementations that do not override the default implementation of
 <code>nextGaussian</code> should include a call to <A HREF="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#clear()"><CODE>clear()</CODE></A> in the
 implementation of this method.</p>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/commons/math3/random/RandomGenerator.html#setSeed(long)">setSeed</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>seed</CODE> - the seed value</DL>
</DD>
</DL>
<HR>

<A NAME="nextBytes(byte[])"><!-- --></A><H3>
nextBytes</H3>
<PRE>
public void <B>nextBytes</B>(byte[]&nbsp;bytes)</PRE>
<DL>
<DD>Generates random bytes and places them into a user-supplied
 byte array.  The number of random bytes produced is equal to
 the length of the byte array.
 <p>
 The default implementation fills the array with bytes extracted from
 random integers generated using <A HREF="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#nextInt()"><CODE>nextInt()</CODE></A>.</p>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/commons/math3/random/RandomGenerator.html#nextBytes(byte[])">nextBytes</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>bytes</CODE> - the non-null byte array in which to put the
 random bytes</DL>
</DD>
</DL>
<HR>

<A NAME="nextInt()"><!-- --></A><H3>
nextInt</H3>
<PRE>
public int <B>nextInt</B>()</PRE>
<DL>
<DD>Returns the next pseudorandom, uniformly distributed <code>int</code>
 value from this random number generator's sequence.
 All 2<font size="-1"><sup>32</sup></font> possible <code>int</code> values
 should be produced with  (approximately) equal probability.
 <p>
 The default implementation provided here returns
 <pre>
 <code>(int) (nextDouble() * Integer.MAX_VALUE)</code>
 </pre></p>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/commons/math3/random/RandomGenerator.html#nextInt()">nextInt</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the next pseudorandom, uniformly distributed <code>int</code>
  value from this random number generator's sequence</DL>
</DD>
</DL>
<HR>

<A NAME="nextInt(int)"><!-- --></A><H3>
nextInt</H3>
<PRE>
public int <B>nextInt</B>(int&nbsp;n)</PRE>
<DL>
<DD>Returns a pseudorandom, uniformly distributed <code>int</code> value
 between 0 (inclusive) and the specified value (exclusive), drawn from
 this random number generator's sequence.
 <p>
 The default implementation returns
 <pre>
 <code>(int) (nextDouble() * n</code>
 </pre></p>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/commons/math3/random/RandomGenerator.html#nextInt(int)">nextInt</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>n</CODE> - the bound on the random number to be returned.  Must be
 positive.
<DT><B>Returns:</B><DD>a pseudorandom, uniformly distributed <code>int</code>
 value between 0 (inclusive) and n (exclusive).
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../../org/apache/commons/math3/exception/NotStrictlyPositiveException.html" title="class in org.apache.commons.math3.exception">NotStrictlyPositiveException</A></CODE> - if <code>n &lt;= 0</code>.</DL>
</DD>
</DL>
<HR>

<A NAME="nextLong()"><!-- --></A><H3>
nextLong</H3>
<PRE>
public long <B>nextLong</B>()</PRE>
<DL>
<DD>Returns the next pseudorandom, uniformly distributed <code>long</code>
 value from this random number generator's sequence.  All
 2<font size="-1"><sup>64</sup></font> possible <code>long</code> values
 should be produced with (approximately) equal probability.
 <p>
 The default implementation returns
 <pre>
 <code>(long) (nextDouble() * Long.MAX_VALUE)</code>
 </pre></p>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/commons/math3/random/RandomGenerator.html#nextLong()">nextLong</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the next pseudorandom, uniformly distributed <code>long</code>
value from this random number generator's sequence</DL>
</DD>
</DL>
<HR>

<A NAME="nextBoolean()"><!-- --></A><H3>
nextBoolean</H3>
<PRE>
public boolean <B>nextBoolean</B>()</PRE>
<DL>
<DD>Returns the next pseudorandom, uniformly distributed
 <code>boolean</code> value from this random number generator's
 sequence.
 <p>
 The default implementation returns
 <pre>
 <code>nextDouble() <= 0.5</code>
 </pre></p>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/commons/math3/random/RandomGenerator.html#nextBoolean()">nextBoolean</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the next pseudorandom, uniformly distributed
 <code>boolean</code> value from this random number generator's
 sequence</DL>
</DD>
</DL>
<HR>

<A NAME="nextFloat()"><!-- --></A><H3>
nextFloat</H3>
<PRE>
public float <B>nextFloat</B>()</PRE>
<DL>
<DD>Returns the next pseudorandom, uniformly distributed <code>float</code>
 value between <code>0.0</code> and <code>1.0</code> from this random
 number generator's sequence.
 <p>
 The default implementation returns
 <pre>
 <code>(float) nextDouble() </code>
 </pre></p>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/commons/math3/random/RandomGenerator.html#nextFloat()">nextFloat</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the next pseudorandom, uniformly distributed <code>float</code>
 value between <code>0.0</code> and <code>1.0</code> from this
 random number generator's sequence</DL>
</DD>
</DL>
<HR>

<A NAME="nextDouble()"><!-- --></A><H3>
nextDouble</H3>
<PRE>
public abstract double <B>nextDouble</B>()</PRE>
<DL>
<DD>Returns the next pseudorandom, uniformly distributed
 <code>double</code> value between <code>0.0</code> and
 <code>1.0</code> from this random number generator's sequence.
 <p>
 This method provides the underlying source of random data used by the
 other methods.</p>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/commons/math3/random/RandomGenerator.html#nextDouble()">nextDouble</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the next pseudorandom, uniformly distributed
  <code>double</code> value between <code>0.0</code> and
  <code>1.0</code> from this random number generator's sequence</DL>
</DD>
</DL>
<HR>

<A NAME="nextGaussian()"><!-- --></A><H3>
nextGaussian</H3>
<PRE>
public double <B>nextGaussian</B>()</PRE>
<DL>
<DD>Returns the next pseudorandom, Gaussian ("normally") distributed
 <code>double</code> value with mean <code>0.0</code> and standard
 deviation <code>1.0</code> from this random number generator's sequence.
 <p>
 The default implementation uses the <em>Polar Method</em>
 due to G.E.P. Box, M.E. Muller and G. Marsaglia, as described in
 D. Knuth, <u>The Art of Computer Programming</u>, 3.4.1C.</p>
 <p>
 The algorithm generates a pair of independent random values.  One of
 these is cached for reuse, so the full algorithm is not executed on each
 activation.  Implementations that do not override this method should
 make sure to call <A HREF="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#clear()"><CODE>clear()</CODE></A> to clear the cached value in the
 implementation of <A HREF="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#setSeed(long)"><CODE>setSeed(long)</CODE></A>.</p>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/commons/math3/random/RandomGenerator.html#nextGaussian()">nextGaussian</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the next pseudorandom, Gaussian ("normally") distributed
 <code>double</code> value with mean <code>0.0</code> and
 standard deviation <code>1.0</code> from this random number
  generator's sequence</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AbstractRandomGenerator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV CLASS&nbsp;
&nbsp;<A HREF="../../../../../org/apache/commons/math3/random/AbstractWell.html" title="class in org.apache.commons.math3.random"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html?org/apache/commons/math3/random/AbstractRandomGenerator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="AbstractRandomGenerator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>
Copyright &#169; 2003-2013 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>
